/******/ (function (modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};

/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {

/******/ 		// Check if module is in cache
/******/ 		if (installedModules[moduleId])
/******/ 			return installedModules[moduleId].exports;

/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			exports: {},
/******/ 			id: moduleId,
/******/ 			loaded: false
      /******/
    };

/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;

/******/ 		// Return the exports of the module
/******/ 		return module.exports;
    /******/
  }


/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;

/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;

/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";

/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(0);
  /******/
})
/************************************************************************/
/******/([
/* 0 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      var _window2 = __webpack_require__(1);

      var _window = _interopRequireWildcard(_window2);

      function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

      var global = GameGlobal;

      function inject() {
        _window.addEventListener = _window.canvas.addEventListener = function (type, listener) {
          _window.document.addEventListener(type, listener);
        };
        _window.removeEventListener = _window.canvas.removeEventListener = function (type, listener) {
          _window.document.removeEventListener(type, listener);
        };

        var _wx$getSystemInfoSync = wx.getSystemInfoSync(),
          platform = _wx$getSystemInfoSync.platform;

        // 开发者工具无法重定义 window


        if (typeof __devtoolssubcontext === 'undefined' && platform === 'devtools') {
          for (var key in _window) {
            var descriptor = Object.getOwnPropertyDescriptor(global, key);

            if (!descriptor || descriptor.configurable === true) {
              Object.defineProperty(window, key, {
                value: _window[key]
              });
            }
          }

          for (var _key in _window.document) {
            var _descriptor = Object.getOwnPropertyDescriptor(global.document, _key);

            if (!_descriptor || _descriptor.configurable === true) {
              Object.defineProperty(global.document, _key, {
                value: _window.document[_key]
              });
            }
          }
          window.parent = window;
        } else {
          for (var _key2 in _window) {
            global[_key2] = _window[_key2];
          }
          global.window = _window;
          window = global;
          window.top = window.parent = window;
        }
      }

      if (!GameGlobal.__isAdapterInjected) {
        GameGlobal.__isAdapterInjected = true;
        inject();
      }

      /***/
    }),
/* 1 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      exports.cancelAnimationFrame = exports.requestAnimationFrame = exports.clearInterval = exports.clearTimeout = exports.setInterval = exports.setTimeout = exports.canvas = exports.location = exports.localStorage = exports.HTMLElement = exports.FileReader = exports.Audio = exports.Image = exports.WebSocket = exports.XMLHttpRequest = exports.navigator = exports.document = undefined;

      var _WindowProperties = __webpack_require__(2);

      Object.keys(_WindowProperties).forEach(function (key) {
        if (key === "default" || key === "__esModule") return;
        Object.defineProperty(exports, key, {
          enumerable: true,
          get: function get() {
            return _WindowProperties[key];
          }
        });
      });

      var _constructor = __webpack_require__(3);

      Object.keys(_constructor).forEach(function (key) {
        if (key === "default" || key === "__esModule") return;
        Object.defineProperty(exports, key, {
          enumerable: true,
          get: function get() {
            return _constructor[key];
          }
        });
      });

      var _Canvas = __webpack_require__(9);

      var _Canvas2 = _interopRequireDefault(_Canvas);

      var _document2 = __webpack_require__(10);

      var _document3 = _interopRequireDefault(_document2);

      var _navigator2 = __webpack_require__(17);

      var _navigator3 = _interopRequireDefault(_navigator2);

      var _XMLHttpRequest2 = __webpack_require__(18);

      var _XMLHttpRequest3 = _interopRequireDefault(_XMLHttpRequest2);

      var _WebSocket2 = __webpack_require__(19);

      var _WebSocket3 = _interopRequireDefault(_WebSocket2);

      var _Image2 = __webpack_require__(11);

      var _Image3 = _interopRequireDefault(_Image2);

      var _Audio2 = __webpack_require__(12);

      var _Audio3 = _interopRequireDefault(_Audio2);

      var _FileReader2 = __webpack_require__(20);

      var _FileReader3 = _interopRequireDefault(_FileReader2);

      var _HTMLElement2 = __webpack_require__(4);

      var _HTMLElement3 = _interopRequireDefault(_HTMLElement2);

      var _localStorage2 = __webpack_require__(21);

      var _localStorage3 = _interopRequireDefault(_localStorage2);

      var _location2 = __webpack_require__(22);

      var _location3 = _interopRequireDefault(_location2);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      exports.document = _document3.default;
      exports.navigator = _navigator3.default;
      exports.XMLHttpRequest = _XMLHttpRequest3.default;
      exports.WebSocket = _WebSocket3.default;
      exports.Image = _Image3.default;
      exports.Audio = _Audio3.default;
      exports.FileReader = _FileReader3.default;
      exports.HTMLElement = _HTMLElement3.default;
      exports.localStorage = _localStorage3.default;
      exports.location = _location3.default;


      // 暴露全局的 canvas
      var canvas = new _Canvas2.default();

      exports.canvas = canvas;
      exports.setTimeout = setTimeout;
      exports.setInterval = setInterval;
      exports.clearTimeout = clearTimeout;
      exports.clearInterval = clearInterval;
      exports.requestAnimationFrame = requestAnimationFrame;
      exports.cancelAnimationFrame = cancelAnimationFrame;

      /***/
    }),
/* 2 */
/***/ (function (module, exports) {

      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _wx$getSystemInfoSync = wx.getSystemInfoSync(),
        screenWidth = _wx$getSystemInfoSync.screenWidth,
        screenHeight = _wx$getSystemInfoSync.screenHeight,
        devicePixelRatio = _wx$getSystemInfoSync.devicePixelRatio;

      var innerWidth = exports.innerWidth = screenWidth;
      var innerHeight = exports.innerHeight = screenHeight;
      exports.devicePixelRatio = devicePixelRatio;
      var screen = exports.screen = {
        availWidth: innerWidth,
        availHeight: innerHeight
      };
      var performance = exports.performance = {
        now: function now() {
          return Date.now() / 1000;
        }
      };
      var ontouchstart = exports.ontouchstart = null;
      var ontouchmove = exports.ontouchmove = null;
      var ontouchend = exports.ontouchend = null;

      /***/
    }),
/* 3 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      exports.HTMLCanvasElement = exports.HTMLImageElement = undefined;

      var _HTMLElement3 = __webpack_require__(4);

      var _HTMLElement4 = _interopRequireDefault(_HTMLElement3);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

      function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

      var HTMLImageElement = exports.HTMLImageElement = function (_HTMLElement) {
        _inherits(HTMLImageElement, _HTMLElement);

        function HTMLImageElement() {
          _classCallCheck(this, HTMLImageElement);

          return _possibleConstructorReturn(this, (HTMLImageElement.__proto__ || Object.getPrototypeOf(HTMLImageElement)).call(this, 'img'));
        }

        return HTMLImageElement;
      }(_HTMLElement4.default);

      var HTMLCanvasElement = exports.HTMLCanvasElement = function (_HTMLElement2) {
        _inherits(HTMLCanvasElement, _HTMLElement2);

        function HTMLCanvasElement() {
          _classCallCheck(this, HTMLCanvasElement);

          return _possibleConstructorReturn(this, (HTMLCanvasElement.__proto__ || Object.getPrototypeOf(HTMLCanvasElement)).call(this, 'canvas'));
        }

        return HTMLCanvasElement;
      }(_HTMLElement4.default);

      /***/
    }),
/* 4 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

      var _Element2 = __webpack_require__(5);

      var _Element3 = _interopRequireDefault(_Element2);

      var _util = __webpack_require__(8);

      var _WindowProperties = __webpack_require__(2);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

      function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

      var HTMLElement = function (_Element) {
        _inherits(HTMLElement, _Element);

        function HTMLElement() {
          var tagName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';

          _classCallCheck(this, HTMLElement);

          var _this = _possibleConstructorReturn(this, (HTMLElement.__proto__ || Object.getPrototypeOf(HTMLElement)).call(this));

          _this.className = '';
          _this.childern = [];
          _this.style = {
            width: _WindowProperties.innerWidth + 'px',
            height: _WindowProperties.innerHeight + 'px'
          };
          _this.insertBefore = _util.noop;
          _this.innerHTML = '';

          _this.tagName = tagName.toUpperCase();
          return _this;
        }

        _createClass(HTMLElement, [{
          key: 'setAttribute',
          value: function setAttribute(name, value) {
            this[name] = value;
          }
        }, {
          key: 'getAttribute',
          value: function getAttribute(name) {
            return this[name];
          }
        }, {
          key: 'getBoundingClientRect',
          value: function getBoundingClientRect() {
            return {
              top: 0,
              left: 0,
              width: _WindowProperties.innerWidth,
              height: _WindowProperties.innerHeight
            };
          }
        }, {
          key: 'focus',
          value: function focus() { }
        }, {
          key: 'clientWidth',
          get: function get() {
            var ret = parseInt(this.style.fontSize, 10) * this.innerHTML.length;

            return Number.isNaN(ret) ? 0 : ret;
          }
        }, {
          key: 'clientHeight',
          get: function get() {
            var ret = parseInt(this.style.fontSize, 10);

            return Number.isNaN(ret) ? 0 : ret;
          }
        }]);

        return HTMLElement;
      }(_Element3.default);

      exports.default = HTMLElement;

      /***/
    }),
/* 5 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _Node2 = __webpack_require__(6);

      var _Node3 = _interopRequireDefault(_Node2);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

      function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

      var ELement = function (_Node) {
        _inherits(ELement, _Node);

        function ELement() {
          _classCallCheck(this, ELement);

          var _this = _possibleConstructorReturn(this, (ELement.__proto__ || Object.getPrototypeOf(ELement)).call(this));

          _this.className = '';
          _this.children = [];
          return _this;
        }

        return ELement;
      }(_Node3.default);

      exports.default = ELement;

      /***/
    }),
/* 6 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

      var _EventTarget2 = __webpack_require__(7);

      var _EventTarget3 = _interopRequireDefault(_EventTarget2);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

      function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

      var Node = function (_EventTarget) {
        _inherits(Node, _EventTarget);

        function Node() {
          _classCallCheck(this, Node);

          var _this = _possibleConstructorReturn(this, (Node.__proto__ || Object.getPrototypeOf(Node)).call(this));

          _this.childNodes = [];
          return _this;
        }

        _createClass(Node, [{
          key: 'appendChild',
          value: function appendChild(node) {
            if (node instanceof Node) {
              this.childNodes.push(node);
            } else {
              throw new TypeError('Failed to executed \'appendChild\' on \'Node\': parameter 1 is not of type \'Node\'.');
            }
          }
        }, {
          key: 'cloneNode',
          value: function cloneNode() {
            var copyNode = Object.create(this);

            Object.assign(copyNode, this);
            return copyNode;
          }
        }, {
          key: 'removeChild',
          value: function removeChild(node) {
            var index = this.childNodes.findIndex(function (child) {
              return child === node;
            });

            if (index > -1) {
              return this.childNodes.splice(index, 1);
            }
            return null;
          }
        }]);

        return Node;
      }(_EventTarget3.default);

      exports.default = Node;

      /***/
    }),
/* 7 */
/***/ (function (module, exports) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      var _events = new WeakMap();

      var EventTarget = function () {
        function EventTarget() {
          _classCallCheck(this, EventTarget);

          _events.set(this, {});
        }

        _createClass(EventTarget, [{
          key: 'addEventListener',
          value: function addEventListener(type, listener) {
            var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};

            var events = _events.get(this);

            if (!events) {
              events = {};
              _events.set(this, events);
            }
            if (!events[type]) {
              events[type] = [];
            }
            events[type].push(listener);

            if (options.capture) {
              console.warn('EventTarget.addEventListener: options.capture is not implemented.');
            }
            if (options.once) {
              console.warn('EventTarget.addEventListener: options.once is not implemented.');
            }
            if (options.passive) {
              console.warn('EventTarget.addEventListener: options.passive is not implemented.');
            }
          }
        }, {
          key: 'removeEventListener',
          value: function removeEventListener(type, listener) {
            var listeners = _events.get(this)[type];

            if (listeners && listeners.length > 0) {
              for (var i = listeners.length; i--; i > 0) {
                if (listeners[i] === listener) {
                  listeners.splice(i, 1);
                  break;
                }
              }
            }
          }
        }, {
          key: 'dispatchEvent',
          value: function dispatchEvent() {
            var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};

            var listeners = _events.get(this)[event.type];

            if (listeners) {
              for (var i = 0; i < listeners.length; i++) {
                listeners[i](event);
              }
            }
          }
        }]);

        return EventTarget;
      }();

      exports.default = EventTarget;

      /***/
    }),
/* 8 */
/***/ (function (module, exports) {

      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      exports.noop = noop;
      function noop() { }

      /***/
    }),
/* 9 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      exports.default = Canvas;

      var _constructor = __webpack_require__(3);

      var _HTMLElement = __webpack_require__(4);

      var _HTMLElement2 = _interopRequireDefault(_HTMLElement);

      var _document = __webpack_require__(10);

      var _document2 = _interopRequireDefault(_document);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      var hasModifiedCanvasPrototype = false;
      var hasInit2DContextConstructor = false;
      var hasInitWebGLContextConstructor = false;

      function Canvas() {
        var canvas = wx.createCanvas();

        canvas.type = 'canvas';

        canvas.__proto__.__proto__ = new _HTMLElement2.default('canvas');

        var _getContext = canvas.getContext;

        canvas.getBoundingClientRect = function () {
          var ret = {
            top: 0,
            left: 0,
            width: window.innerWidth,
            height: window.innerHeight
          };
          return ret;
        };

        return canvas;
      }

      /***/
    }),
/* 10 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _window = __webpack_require__(1);

      var window = _interopRequireWildcard(_window);

      var _HTMLElement = __webpack_require__(4);

      var _HTMLElement2 = _interopRequireDefault(_HTMLElement);

      var _Image = __webpack_require__(11);

      var _Image2 = _interopRequireDefault(_Image);

      var _Audio = __webpack_require__(12);

      var _Audio2 = _interopRequireDefault(_Audio);

      var _Canvas = __webpack_require__(9);

      var _Canvas2 = _interopRequireDefault(_Canvas);

      __webpack_require__(15);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

      var events = {};

      var document = {
        readyState: 'complete',
        visibilityState: 'visible',
        documentElement: window,
        hidden: false,
        style: {},
        location: window.location,
        ontouchstart: null,
        ontouchmove: null,
        ontouchend: null,

        head: new _HTMLElement2.default('head'),
        body: new _HTMLElement2.default('body'),

        createElement: function createElement(tagName) {
          if (tagName === 'canvas') {
            return new _Canvas2.default();
          } else if (tagName === 'audio') {
            return new _Audio2.default();
          } else if (tagName === 'img') {
            return new _Image2.default();
          }

          return new _HTMLElement2.default(tagName);
        },
        getElementById: function getElementById(id) {
          if (id === window.canvas.id) {
            return window.canvas;
          }
          return null;
        },
        getElementsByTagName: function getElementsByTagName(tagName) {
          if (tagName === 'head') {
            return [document.head];
          } else if (tagName === 'body') {
            return [document.body];
          } else if (tagName === 'canvas') {
            return [window.canvas];
          }
          return [];
        },
        querySelector: function querySelector(query) {
          if (query === 'head') {
            return document.head;
          } else if (query === 'body') {
            return document.body;
          } else if (query === 'canvas') {
            return window.canvas;
          } else if (query === '#' + window.canvas.id) {
            return window.canvas;
          }
          return null;
        },
        querySelectorAll: function querySelectorAll(query) {
          if (query === 'head') {
            return [document.head];
          } else if (query === 'body') {
            return [document.body];
          } else if (query === 'canvas') {
            return [window.canvas];
          }
          return [];
        },
        addEventListener: function addEventListener(type, listener) {
          if (!events[type]) {
            events[type] = [];
          }
          events[type].push(listener);
        },
        removeEventListener: function removeEventListener(type, listener) {
          var listeners = events[type];

          if (listeners && listeners.length > 0) {
            for (var i = listeners.length; i--; i > 0) {
              if (listeners[i] === listener) {
                listeners.splice(i, 1);
                break;
              }
            }
          }
        },
        dispatchEvent: function dispatchEvent(event) {
          var listeners = events[event.type];

          if (listeners) {
            for (var i = 0; i < listeners.length; i++) {
              listeners[i](event);
            }
          }
        }
      };

      exports.default = document;

      /***/
    }),
/* 11 */
/***/ (function (module, exports) {

      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      exports.default = Image;
      function Image() {
        var image = wx.createImage();

        return image;
      }

      /***/
    }),
/* 12 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

      var _HTMLAudioElement2 = __webpack_require__(13);

      var _HTMLAudioElement3 = _interopRequireDefault(_HTMLAudioElement2);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

      function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

      var HAVE_NOTHING = 0;
      var HAVE_METADATA = 1;
      var HAVE_CURRENT_DATA = 2;
      var HAVE_FUTURE_DATA = 3;
      var HAVE_ENOUGH_DATA = 4;

      var _innerAudioContext = new WeakMap();
      var _src = new WeakMap();
      var _loop = new WeakMap();
      var _autoplay = new WeakMap();

      var Audio = function (_HTMLAudioElement) {
        _inherits(Audio, _HTMLAudioElement);

        function Audio(url) {
          _classCallCheck(this, Audio);

          var _this = _possibleConstructorReturn(this, (Audio.__proto__ || Object.getPrototypeOf(Audio)).call(this));

          _this.HAVE_NOTHING = HAVE_NOTHING;
          _this.HAVE_METADATA = HAVE_METADATA;
          _this.HAVE_CURRENT_DATA = HAVE_CURRENT_DATA;
          _this.HAVE_FUTURE_DATA = HAVE_FUTURE_DATA;
          _this.HAVE_ENOUGH_DATA = HAVE_ENOUGH_DATA;
          _this.readyState = HAVE_NOTHING;


          _src.set(_this, '');

          var innerAudioContext = wx.createInnerAudioContext();

          _innerAudioContext.set(_this, innerAudioContext);

          innerAudioContext.onCanplay(function () {
            _this.dispatchEvent({ type: 'load' });
            _this.dispatchEvent({ type: 'loadend' });
            _this.dispatchEvent({ type: 'canplay' });
            _this.dispatchEvent({ type: 'canplaythrough' });
            _this.dispatchEvent({ type: 'loadedmetadata' });
            _this.readyState = HAVE_CURRENT_DATA;
          });
          innerAudioContext.onPlay(function () {
            _this.dispatchEvent({ type: 'play' });
          });
          innerAudioContext.onPause(function () {
            _this.dispatchEvent({ type: 'pause' });
          });
          innerAudioContext.onEnded(function () {
            _this.dispatchEvent({ type: 'ended' });
            _this.readyState = HAVE_ENOUGH_DATA;
          });
          innerAudioContext.onError(function () {
            _this.dispatchEvent({ type: 'error' });
          });

          if (url) {
            _innerAudioContext.get(_this).src = url;
          }
          return _this;
        }

        _createClass(Audio, [{
          key: 'load',
          value: function load() {
            console.warn('HTMLAudioElement.load() is not implemented.');
          }
        }, {
          key: 'play',
          value: function play() {
            _innerAudioContext.get(this).play();
          }
        }, {
          key: 'pause',
          value: function pause() {
            _innerAudioContext.get(this).pause();
          }
        }, {
          key: 'canPlayType',
          value: function canPlayType() {
            var mediaType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';

            if (typeof mediaType !== 'string') {
              return '';
            }

            if (mediaType.indexOf('audio/mpeg') > -1 || mediaType.indexOf('audio/mp4')) {
              return 'probably';
            }
            return '';
          }
        }, {
          key: 'cloneNode',
          value: function cloneNode() {
            var newAudio = new Audio();
            newAudio.loop = _innerAudioContext.get(this).loop;
            newAudio.autoplay = _innerAudioContext.get(this).loop;
            newAudio.src = this.src;
            return newAudio;
          }
        }, {
          key: 'currentTime',
          get: function get() {
            return _innerAudioContext.get(this).currentTime;
          },
          set: function set(value) {
            _innerAudioContext.get(this).seek(value);
          }
        }, {
          key: 'src',
          get: function get() {
            return _src.get(this);
          },
          set: function set(value) {
            _src.set(this, value);
            _innerAudioContext.get(this).src = value;
          }
        }, {
          key: 'loop',
          get: function get() {
            return _innerAudioContext.get(this).loop;
          },
          set: function set(value) {
            _innerAudioContext.get(this).loop = value;
          }
        }, {
          key: 'autoplay',
          get: function get() {
            return _innerAudioContext.get(this).autoplay;
          },
          set: function set(value) {
            _innerAudioContext.get(this).autoplay = value;
          }
        }, {
          key: 'paused',
          get: function get() {
            return _innerAudioContext.get(this).paused;
          }
        }]);

        return Audio;
      }(_HTMLAudioElement3.default);

      exports.default = Audio;

      /***/
    }),
/* 13 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _HTMLMediaElement2 = __webpack_require__(14);

      var _HTMLMediaElement3 = _interopRequireDefault(_HTMLMediaElement2);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

      function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

      var HTMLAudioElement = function (_HTMLMediaElement) {
        _inherits(HTMLAudioElement, _HTMLMediaElement);

        function HTMLAudioElement() {
          _classCallCheck(this, HTMLAudioElement);

          return _possibleConstructorReturn(this, (HTMLAudioElement.__proto__ || Object.getPrototypeOf(HTMLAudioElement)).call(this, 'audio'));
        }

        return HTMLAudioElement;
      }(_HTMLMediaElement3.default);

      exports.default = HTMLAudioElement;

      /***/
    }),
/* 14 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

      var _HTMLElement2 = __webpack_require__(4);

      var _HTMLElement3 = _interopRequireDefault(_HTMLElement2);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

      function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

      var HTMLMediaElement = function (_HTMLElement) {
        _inherits(HTMLMediaElement, _HTMLElement);

        function HTMLMediaElement(type) {
          _classCallCheck(this, HTMLMediaElement);

          return _possibleConstructorReturn(this, (HTMLMediaElement.__proto__ || Object.getPrototypeOf(HTMLMediaElement)).call(this, type));
        }

        _createClass(HTMLMediaElement, [{
          key: 'addTextTrack',
          value: function addTextTrack() { }
        }, {
          key: 'captureStream',
          value: function captureStream() { }
        }, {
          key: 'fastSeek',
          value: function fastSeek() { }
        }, {
          key: 'load',
          value: function load() { }
        }, {
          key: 'pause',
          value: function pause() { }
        }, {
          key: 'play',
          value: function play() { }
        }]);

        return HTMLMediaElement;
      }(_HTMLElement3.default);

      exports.default = HTMLMediaElement;

      /***/
    }),
/* 15 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      __webpack_require__(16);

      /***/
    }),
/* 16 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      var _window = __webpack_require__(1);

      var window = _interopRequireWildcard(_window);

      var _document = __webpack_require__(10);

      var _document2 = _interopRequireDefault(_document);

      var _util = __webpack_require__(8);

      function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

      function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      var TouchEvent = function TouchEvent(type) {
        _classCallCheck(this, TouchEvent);

        this.target = window.canvas;
        this.currentTarget = window.canvas;
        this.touches = [];
        this.targetTouches = [];
        this.changedTouches = [];
        this.preventDefault = _util.noop;
        this.stopPropagation = _util.noop;

        this.type = type;
      };

      function touchEventHandlerFactory(type) {
        return function (event) {
          var touchEvent = new TouchEvent(type);

          touchEvent.touches = event.touches;
          touchEvent.targetTouches = Array.prototype.slice.call(event.touches);
          touchEvent.changedTouches = event.changedTouches;
          touchEvent.timeStamp = event.timeStamp;
          _document2.default.dispatchEvent(touchEvent);
        };
      }

      wx.onTouchStart(touchEventHandlerFactory('touchstart'));
      wx.onTouchMove(touchEventHandlerFactory('touchmove'));
      wx.onTouchEnd(touchEventHandlerFactory('touchend'));
      wx.onTouchCancel(touchEventHandlerFactory('touchcancel'));

      /***/
    }),
/* 17 */
/***/ (function (module, exports, __webpack_require__) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _util = __webpack_require__(8);

      // TODO 需要 wx.getSystemInfo 获取更详细信息
      var _wx$getSystemInfoSync = wx.getSystemInfoSync(),
        platform = _wx$getSystemInfoSync.platform;

      var navigator = {
        platform: platform,
        language: 'zh-cn',
        appVersion: '5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
        userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Mobile/14E8301 MicroMessenger/6.6.0 MiniGame NetType/WIFI Language/zh_CN',
        onLine: true, // TODO 用 wx.getNetworkStateChange 和 wx.onNetworkStateChange 来返回真实的状态

        // TODO 用 wx.getLocation 来封装 geolocation
        geolocation: {
          getCurrentPosition: _util.noop,
          watchPosition: _util.noop,
          clearWatch: _util.noop
        }
      };

      exports.default = navigator;

      /***/
    }),
/* 18 */
/***/ (function (module, exports) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      var _url = new WeakMap();
      var _method = new WeakMap();
      var _requestHeader = new WeakMap();
      var _responseHeader = new WeakMap();
      var _requestTask = new WeakMap();

      function _triggerEvent(type) {
        if (typeof this['on' + type] === 'function') {
          for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
            args[_key - 1] = arguments[_key];
          }

          this['on' + type].apply(this, args);
        }
      }

      function _changeReadyState(readyState) {
        this.readyState = readyState;
        _triggerEvent.call(this, 'readystatechange');
      }

      var XMLHttpRequest = function () {
        // TODO 没法模拟 HEADERS_RECEIVED 和 LOADING 两个状态
        function XMLHttpRequest() {
          _classCallCheck(this, XMLHttpRequest);

          this.onabort = null;
          this.onerror = null;
          this.onload = null;
          this.onloadstart = null;
          this.onprogress = null;
          this.ontimeout = null;
          this.onloadend = null;
          this.onreadystatechange = null;
          this.readyState = 0;
          this.response = null;
          this.responseText = null;
          this.responseType = '';
          this.responseXML = null;
          this.status = 0;
          this.statusText = '';
          this.upload = {};
          this.withCredentials = false;

          _requestHeader.set(this, {
            'content-type': 'application/x-www-form-urlencoded'
          });
          _responseHeader.set(this, {});
        }

        /*
         * TODO 这一批事件应该是在 XMLHttpRequestEventTarget.prototype 上面的
         */


        _createClass(XMLHttpRequest, [{
          key: 'abort',
          value: function abort() {
            var myRequestTask = _requestTask.get(this);

            if (myRequestTask) {
              myRequestTask.abort();
            }
          }
        }, {
          key: 'getAllResponseHeaders',
          value: function getAllResponseHeaders() {
            var responseHeader = _responseHeader.get(this);

            return Object.keys(responseHeader).map(function (header) {
              return header + ': ' + responseHeader[header];
            }).join('\n');
          }
        }, {
          key: 'getResponseHeader',
          value: function getResponseHeader(header) {
            return _responseHeader.get(this)[header];
          }
        }, {
          key: 'open',
          value: function open(method, url /* async, user, password 这几个参数在小程序内不支持*/) {
            _method.set(this, method);
            _url.set(this, url);
            _changeReadyState.call(this, XMLHttpRequest.OPENED);
          }
        }, {
          key: 'overrideMimeType',
          value: function overrideMimeType() { }
        }, {
          key: 'send',
          value: function send() {
            var _this = this;

            var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';

            if (this.readyState !== XMLHttpRequest.OPENED) {
              throw new Error("Failed to execute 'send' on 'XMLHttpRequest': The object's state must be OPENED.");
            } else {
              wx.request({
                data: data,
                url: _url.get(this),
                method: _method.get(this),
                header: _requestHeader.get(this),
                responseType: this.responseType,
                success: function success(_ref) {
                  var data = _ref.data,
                    statusCode = _ref.statusCode,
                    header = _ref.header;

                  if (typeof data !== 'string' && !(data instanceof ArrayBuffer)) {
                    try {
                      data = JSON.stringify(data);
                    } catch (e) {
                      data = data;
                    }
                  }

                  _this.status = statusCode;
                  _responseHeader.set(_this, header);
                  _triggerEvent.call(_this, 'loadstart');
                  _changeReadyState.call(_this, XMLHttpRequest.HEADERS_RECEIVED);
                  _changeReadyState.call(_this, XMLHttpRequest.LOADING);

                  _this.response = data;

                  if (data instanceof ArrayBuffer) {
                    _this.responseText = '';
                    var bytes = new Uint8Array(data);
                    var len = bytes.byteLength;

                    for (var i = 0; i < len; i++) {
                      _this.responseText += String.fromCharCode(bytes[i]);
                    }
                  } else {
                    _this.responseText = data;
                  }
                  _changeReadyState.call(_this, XMLHttpRequest.DONE);
                  _triggerEvent.call(_this, 'load');
                  _triggerEvent.call(_this, 'loadend');
                },
                fail: function fail(_ref2) {
                  var errMsg = _ref2.errMsg;

                  // TODO 规范错误
                  if (errMsg.indexOf('abort') !== -1) {
                    _triggerEvent.call(_this, 'abort');
                  } else {
                    _triggerEvent.call(_this, 'error', errMsg);
                  }
                  _triggerEvent.call(_this, 'loadend');
                }
              });
            }
          }
        }, {
          key: 'setRequestHeader',
          value: function setRequestHeader(header, value) {
            var myHeader = _requestHeader.get(this);

            myHeader[header] = value;
            _requestHeader.set(this, myHeader);
          }
        }]);

        return XMLHttpRequest;
      }();

      XMLHttpRequest.UNSEND = 0;
      XMLHttpRequest.OPENED = 1;
      XMLHttpRequest.HEADERS_RECEIVED = 2;
      XMLHttpRequest.LOADING = 3;
      XMLHttpRequest.DONE = 4;
      exports.default = XMLHttpRequest;

      /***/
    }),
/* 19 */
/***/ (function (module, exports) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      var _socketTask = new WeakMap();

      var WebSocket = function () {
        // TODO 更新 binaryType
        // The connection is in the process of closing.
        // The connection is not yet open.
        function WebSocket(url) {
          var _this = this;

          var protocols = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];

          _classCallCheck(this, WebSocket);

          this.binaryType = '';
          this.bufferedAmount = 0;
          this.extensions = '';
          this.onclose = null;
          this.onerror = null;
          this.onmessage = null;
          this.onopen = null;
          this.protocol = '';
          this.readyState = 3;

          if (typeof url !== 'string' || !/(^ws:\/\/)|(^wss:\/\/)/.test(url)) {
            throw new TypeError('Failed to construct \'WebSocket\': The URL \'' + url + '\' is invalid');
          }

          this.url = url;
          this.readyState = WebSocket.CONNECTING;

          var socketTask = wx.connectSocket({
            url: url,
            protocols: Array.isArray(protocols) ? protocols : [protocols]
          });

          _socketTask.set(this, socketTask);

          socketTask.onClose(function (res) {
            _this.readyState = WebSocket.CLOSED;
            if (typeof _this.onclose === 'function') {
              _this.onclose(res);
            }
          });

          socketTask.onMessage(function (res) {
            if (typeof _this.onmessage === 'function') {
              _this.onmessage(res);
            }
          });

          socketTask.onOpen(function () {
            _this.readyState = WebSocket.OPEN;
            if (typeof _this.onopen === 'function') {
              _this.onopen();
            }
          });

          socketTask.onError(function (res) {
            if (typeof _this.onerror === 'function') {
              _this.onerror(new Error(res.errMsg));
            }
          });

          return this;
        } // TODO 小程序内目前获取不到，实际上需要根据服务器选择的 sub-protocol 返回
        // TODO 更新 bufferedAmount
        // The connection is closed or couldn't be opened.

        // The connection is open and ready to communicate.


        _createClass(WebSocket, [{
          key: 'close',
          value: function close(code, reason) {
            this.readyState = WebSocket.CLOSING;
            var socketTask = _socketTask.get(this);

            socketTask.close({
              code: code,
              reason: reason
            });
          }
        }, {
          key: 'send',
          value: function send(data) {
            if (typeof data !== 'string' && !(data instanceof ArrayBuffer)) {
              throw new TypeError('Failed to send message: The data ' + data + ' is invalid');
            }

            var socketTask = _socketTask.get(this);

            socketTask.send({
              data: data
            });
          }
        }]);

        return WebSocket;
      }();

      WebSocket.CONNECTING = 0;
      WebSocket.OPEN = 1;
      WebSocket.CLOSING = 2;
      WebSocket.CLOSED = 3;
      exports.default = WebSocket;

      /***/
    }),
/* 20 */
/***/ (function (module, exports) {

      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: true
      });

      function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

      /*
       * TODO 使用 wx.readFile 来封装 FileReader
       */
      var FileReader = function FileReader() {
        _classCallCheck(this, FileReader);
      };

      exports.default = FileReader;

      /***/
    }),
/* 21 */
/***/ (function (module, exports) {

      "use strict";

      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      var localStorage = {
        get length() {
          var _wx$getStorageInfoSyn = wx.getStorageInfoSync(),
            keys = _wx$getStorageInfoSyn.keys;

          return keys.length;
        },

        key: function key(n) {
          var _wx$getStorageInfoSyn2 = wx.getStorageInfoSync(),
            keys = _wx$getStorageInfoSyn2.keys;

          return keys[n];
        },
        getItem: function getItem(key) {
          return wx.getStorageSync(key);
        },
        setItem: function setItem(key, value) {
          return wx.setStorageSync(key, value);
        },
        removeItem: function removeItem(key) {
          wx.removeStorageSync(key);
        },
        clear: function clear() {
          wx.clearStorageSync();
        }
      };

      exports.default = localStorage;

      /***/
    }),
/* 22 */
/***/ (function (module, exports) {

      'use strict';

      Object.defineProperty(exports, "__esModule", {
        value: true
      });
      var location = {
        href: 'game.js',
        reload: function reload() { }
      };

      exports.default = location;

      /***/
    })
/******/]);
